It is often desirable to visually display data relating to a system or procedure so that a user can readily discern information therefrom. The benefits of providing visualization for system analysis includes cross-functional understanding of system relationships and intuitive communication of results, faster model validation, and higher acceptance of system models. For example, it may be desirable to determine what factors affect the profits from sales of a particular product, and how each factor affects other factors that are used to determine profit. Different systems and protocols exist in the art for visually displaying information. For example, products such as Visio from Microsoft and Analytica from Lumina Decision Systems offer examples of displaying data in various manners that allow a user to visually perceive such information.
One known technique for displaying information is by influence diagrams. An influence diagram is a graphical display that describes a system or operation as a series of images (bubbles, nodes, etc.) interconnected by arrows. FIG. 1 is an example of a simple influence diagram 10 that shows that profits are influenced by revenues and costs. Particularly, diagram 10 shows that an entity labeled profits 12 is directly related to an entity labeled revenues 14 and an entity labeled costs 16 by connecting arcs 18. The known influence diagrams may be useful for depicting influences, but they do not by themselves reveal the magnitude of influences.
Known systems analysis tools typically take input data, process it, and generate output. These known approaches, however, conceal the intermediate steps of the process and do not reveal most system interactions and dependencies. It would be desirable to provide a process that converts raw system information into useful quantities, and also visually and dynamically depicts the magnitude and importance of the system interactions that underlie the computation of the useful quantities. Such a depiction would allow for wider use of the process for more complex systems, and provide critical feedback to better control the system.
Many known system models are complex, having thousands of variables, inputs and time consuming intermediate calculations. Developing and debugging such models usually requires the study and analysis of smaller portions or sub-models of the entire model to provide a “divide and conquer” approach to the overall system. Typically, this is a tedious and time-consuming task because a full data set must be specified and entered for the entire model, and all calculations must be performed (often with computer compilation) to study each sub-model that is identified. Moreover, it is very difficult to study the behavior of a specific sub-model under specified conditions (e.g., run a particular test), if the sub-model depends on values that are not entered as data, but are provided through intermediate calculations inside the full model. In other words, it is difficult to determine the response of a specific sub-model because the inputs to that sub-model may depend on the behavior of other sub-models outside of the specific sub-model.
Data spreadsheets provide one known technique for entering and processing data. However, between 40% and 80% of spreadsheets contain errors at their inception, and up to 30% of operational spreadsheets contain errors. The main cause of many such errors is the invisibility of spreadsheet calculations. In other words, it is impossible, at first glance, to determine whether a spreadsheet cell contains a number or a formula, and whether any other cells depend on that particular spreadsheet cell. Several spreadsheet-auditing tools have been developed to assist users by overlaying a graphical representation of calculation logic on top of spreadsheets. This is a big step forward in terms of auditing, but these techniques do not address the fundamental difficulties inherent in the initial design and later modification of the spreadsheet.
A visual modeling product exists in the art called DPL, available from Price-Waterhouse-Coopers, that manages the visible representations of spreadsheets. DPL has a rudimentary capability to convert simple spreadsheets into visual models. However, DPL cannot convert complex spreadsheets into visual representations, manage this representation, and maintain equivalence with the original spreadsheet.
What is needed is a method for providing a functional visualization of a spreadsheet that can convert complex spreadsheets into visual representations, manage those representations, and maintain equivalence between the visual representation and the spreadsheet. It is, therefore, an object of the present invention to provide such a process.